<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Turtle DB: ca.uqac.dim.ddb.Selection Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Turtle DB
   
   </div>
   <div id="projectbrief">A mini DDBMS</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">ca.uqac.dim.ddb.Selection Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="ca::uqac::dim::ddb::Selection" --><!-- doxytag: inherits="ca::uqac::dim::ddb::UnaryRelation" --><div class="dynheader">
Inheritance diagram for ca.uqac.dim.ddb.Selection:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.png" usemap="#ca.uqac.dim.ddb.Selection_map" alt=""/>
  <map id="ca.uqac.dim.ddb.Selection_map" name="ca.uqac.dim.ddb.Selection_map">
<area href="classca_1_1uqac_1_1dim_1_1ddb_1_1_unary_relation.html" alt="ca.uqac.dim.ddb.UnaryRelation" shape="rect" coords="0,56,188,80"/>
<area href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html" alt="ca.uqac.dim.ddb.Relation" shape="rect" coords="0,0,188,24"/>
</map>
 </div></div>

<p><a href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#af68aab32d0e5c9b2093d327b9a39b8ac">Selection</a> (<a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_condition.html">Condition</a> c, <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html">Relation</a> r)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_schema.html">Schema</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#a3e798977da69d734747a1f9ff1b0c83f">getSchema</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#af4b9da3ceb6e40714cbd9614ec6359ce">setCondition</a> (<a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_condition.html">Condition</a> c)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#a4b07418153da8dbaf6c5de16b22e11a9">accept</a> (<a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_query_visitor.html">QueryVisitor</a> v)  throws QueryVisitor.VisitorException   </td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_tuple.html">Tuple</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#aecab7ac4f91beec9c99119216d207f36">internalNext</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_condition.html">Condition</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#a7ede3d6437337633e33bd7b05a35859c">m_condition</a></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af68aab32d0e5c9b2093d327b9a39b8ac"></a><!-- doxytag: member="ca::uqac::dim::ddb::Selection::Selection" ref="af68aab32d0e5c9b2093d327b9a39b8ac" args="(Condition c, Relation r)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#af68aab32d0e5c9b2093d327b9a39b8ac">ca.uqac.dim.ddb.Selection.Selection</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_condition.html">Condition</a>&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html">Relation</a>&#160;</td>
          <td class="paramname"><em>r</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a4b07418153da8dbaf6c5de16b22e11a9"></a><!-- doxytag: member="ca::uqac::dim::ddb::Selection::accept" ref="a4b07418153da8dbaf6c5de16b22e11a9" args="(QueryVisitor v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#a4b07418153da8dbaf6c5de16b22e11a9">ca.uqac.dim.ddb.Selection.accept</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_query_visitor.html">QueryVisitor</a>&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td>  throws QueryVisitor.VisitorException   <code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Implements <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html#a6743aca7ee7eb1b1cb0f2511043723f7">ca.uqac.dim.ddb.Relation</a>.</p>

</div>
</div>
<a class="anchor" id="a3e798977da69d734747a1f9ff1b0c83f"></a><!-- doxytag: member="ca::uqac::dim::ddb::Selection::getSchema" ref="a3e798977da69d734747a1f9ff1b0c83f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_schema.html">Schema</a> <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#a3e798977da69d734747a1f9ff1b0c83f">ca.uqac.dim.ddb.Selection.getSchema</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the relation's schema </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The schema </dd></dl>

<p>Implements <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html#aef622fda44eb3c250098f1b03db5989a">ca.uqac.dim.ddb.Relation</a>.</p>

</div>
</div>
<a class="anchor" id="aecab7ac4f91beec9c99119216d207f36"></a><!-- doxytag: member="ca::uqac::dim::ddb::Selection::internalNext" ref="aecab7ac4f91beec9c99119216d207f36" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_tuple.html">Tuple</a> <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#aecab7ac4f91beec9c99119216d207f36">ca.uqac.dim.ddb.Selection.internalNext</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Method that must be implemented by every non-abstract relation; it returns the next tuple of the enumeration, if any. Methods <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html#aec79ff9e41c1245b1a3a698b2d53762d">next</a> and <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html#a3eb603ca0fb31e0dc36703359f7d24c9">hasNext</a> use the return value of <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#aecab7ac4f91beec9c99119216d207f36">internalNext</a> and additionally remove any duplicate tuples from the output enumeration. Hence a call to <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html#aec79ff9e41c1245b1a3a698b2d53762d">next</a> may result in multiple calls to the relation's <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#aecab7ac4f91beec9c99119216d207f36">internalNext</a>, if the tuples returned are already part of the result (this is especially true of <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_projection.html">Projection</a>s. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>The next tuple, <code>null</code> if no such tuple exists </dd></dl>

<p>Implements <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_relation.html#a2a42a9a2f683f4adbd30b4978025c84b">ca.uqac.dim.ddb.Relation</a>.</p>

</div>
</div>
<a class="anchor" id="af4b9da3ceb6e40714cbd9614ec6359ce"></a><!-- doxytag: member="ca::uqac::dim::ddb::Selection::setCondition" ref="af4b9da3ceb6e40714cbd9614ec6359ce" args="(Condition c)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#af4b9da3ceb6e40714cbd9614ec6359ce">ca.uqac.dim.ddb.Selection.setCondition</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_condition.html">Condition</a>&#160;</td>
          <td class="paramname"><em>c</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a7ede3d6437337633e33bd7b05a35859c"></a><!-- doxytag: member="ca::uqac::dim::ddb::Selection::m_condition" ref="a7ede3d6437337633e33bd7b05a35859c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_condition.html">Condition</a> <a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html#a7ede3d6437337633e33bd7b05a35859c">ca.uqac.dim.ddb.Selection.m_condition</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>Engin/src/ca/uqac/dim/ddb/<a class="el" href="_selection_8java.html">Selection.java</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceca.html">ca</a>      </li>
      <li class="navelem"><a class="el" href="namespaceca_1_1uqac.html">uqac</a>      </li>
      <li class="navelem"><a class="el" href="namespaceca_1_1uqac_1_1dim.html">dim</a>      </li>
      <li class="navelem"><a class="el" href="namespaceca_1_1uqac_1_1dim_1_1ddb.html">ddb</a>      </li>
      <li class="navelem"><a class="el" href="classca_1_1uqac_1_1dim_1_1ddb_1_1_selection.html">Selection</a>      </li>

    <li class="footer">Generated on Thu Aug 30 2012 12:03:10 for Turtle DB by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
